using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

using DataTransferObject;
using Business;
namespace Presentation
{
    public partial class FrmGiaHan : Form
    {
        BindingSource bs = new BindingSource();
        clsDocGiaDTO DocGiaDTO = new clsDocGiaDTO();
        clsDocGiaBUS DocGiaBUS = new clsDocGiaBUS();
        clsPMuonSachDTO PMuonSachDTO = new clsPMuonSachDTO();
        clsPhieuMuonSachBUS PMuonSachBUS = new clsPhieuMuonSachBUS();
        clsThuThuBUS ThuThuBUS = new clsThuThuBUS();

        DataTable tbl = new DataTable();
        string maphieumuon = "";
        public FrmGiaHan()
        {
            InitializeComponent();
        }

        private void FrmGiaHan_Load(object sender, EventArgs e)
        {
            txtmathe.Focus();
            dtngaytra.Enabled = false;
        }

        public bool CheckEmpty(clsDocGiaDTO obj)
        {
            DocGiaBUSResult rs;
            rs = DocGiaBUS.KiemTraRong(obj);
            if (rs == DocGiaBUSResult.MATHEERROR) //Nếu mã thẻ rỗng.
            {
                DevComponents.DotNetBar.MessageBoxEx.Show(this, "Mã thẻ không được rỗng!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                txtmathe.Focus();
                return false;
            }
            return true;
        }

        private void btnkiemtra_Click(object sender, EventArgs e)
        {
            DocGiaDTO.MaThe = txtmathe.Text;
            if (CheckEmpty(DocGiaDTO) == true)
            {
                
                tbl= ThuThuBUS.DocGiaBUS.LayPhieuMuonSachTheoMaThe(DocGiaDTO);
                foreach (DataRow dr in tbl.Rows)
                {
                    dgvgiahan.Rows.Add();
                    maphieumuon = dr["MaPhieuMuon"].ToString();
                    dgvgiahan.Rows[0].Cells["MaThe"].Value = dr["MaThe"].ToString();
                    dgvgiahan.Rows[0].Cells["HoTen"].Value = dr["HoTen"].ToString();
                    DateTime ngaymuon = Convert.ToDateTime(dr["NgayMuon"].ToString());
                    DateTime ngayhethan = Convert.ToDateTime(dr["NgayHetHanS"].ToString());
                    dgvgiahan.Rows[0].Cells["NgayMuon"].Value = ngaymuon.ToShortDateString();
                    dgvgiahan.Rows[0].Cells["NgayHetHans"].Value = ngayhethan.ToShortDateString();
                    dgvgiahan.Rows[0].Cells["TIENDATCOC"].Value = dr["TIENDATCOC"].ToString();
                }
            }
            dtngaytra.Enabled = true;
            dtngaytra.Text = Convert.ToString(DateTime.Today);
        }

        /* Hiện ngày hết hạn trên dtngaytra */
        private void dgvgiahan_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
           
            if (dgvgiahan.SelectedRows.Count >= 0) //Nếu trong DataGrid có từ 1 dòng trở lên.
            {
                dtngaytra.Text = dgvgiahan.SelectedRows[0].Cells["NgayHetHans"].Value.ToString();
              
            }
        }
        private void btnthoat_Click(object sender, EventArgs e)
        {
            DialogResult dlg = new DialogResult();
            dlg = DevComponents.DotNetBar.MessageBoxEx.Show("Có muốn thoát không ?", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
            if (dlg == DialogResult.Yes)
            {
                this.Close();
            }
        }

        private void btnhuy_Click(object sender, EventArgs e)
        {
            dgvgiahan.Rows.Clear();
            txtmathe.Text = "";
            txtmathe.Focus();
            dtngaytra.Text = "";
            
        }

        private void btngiahan_Click(object sender, EventArgs e)
        {
            PMuonSachResult rs;
            PMuonSachDTO = new clsPMuonSachDTO();
            PMuonSachDTO.NgayHetHan = Convert.ToDateTime(dtngaytra.Text);
            PMuonSachDTO.MaPhieuMuon = maphieumuon.Trim();
            rs = ThuThuBUS.PMuonSachBUS.SuaNgayTraPhieuMuon(PMuonSachDTO);
            if (rs == PMuonSachResult.OK) //Nếu sửa thành công.
                DevComponents.DotNetBar.MessageBoxEx.Show("Đã cập nhật ngày trả thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
            else //Sửa thất bại.
                DevComponents.DotNetBar.MessageBoxEx.Show(this, "Không cập nhật được ngày trả !", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);

        }
    }
}